package com.mediocre.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

//@ApiModel(value = "博客园随笔实体", description = "博客园随笔实体...")
@ApiModel(description = "博客园随笔实体")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Post implements Serializable {
    private static final long serialVersionUID = 1;

    @ApiModelProperty("ID")
    private Long id;
    @ApiModelProperty("标题")
    private String title;
    @ApiModelProperty("URL")
    private String url;
    @ApiModelProperty("是否发布")
    private Boolean isPublished;
    @ApiModelProperty("isDraft")
    private Boolean isDraft;
//    @ApiModelProperty("反馈数")
//    private Long feedBackCount;
//    @ApiModelProperty("webCount")
//    private Long webCount;
//    @ApiModelProperty("aggCount")
//    private Long aggCount;
//    @ApiModelProperty("页面点击数")
//    private Long viewCount;
    @ApiModelProperty("发布时间")
    private String datePublished;
    @ApiModelProperty("entryName")
    private String entryName;
    @ApiModelProperty("POST类型：1 随笔；2 文章；3 日记")
    private Byte postType;
//    @ApiModelProperty("postConfig")
//    private Long postConfig;
    @ApiModelProperty("更新时间")
    private String dateUpdated;
    @ApiModelProperty("访问权限：0 公开；8 仅登录用户；268435456 只有我")
    private Integer accessPermission;

    // 以下为新增属性
    @ApiModelProperty("随笔内容")
    private String postBody;
    @ApiModelProperty("所属分类（数组）")
    private Integer[] categoryIds;
    @ApiModelProperty("inSiteCandidate")
    private Boolean inSiteCandidate;
    @ApiModelProperty("inSiteHome")
    private Boolean inSiteHome;
    @ApiModelProperty("siteCategoryId")
    private String siteCategoryId;
    @ApiModelProperty("blogTeamIds")
    private String blogTeamIds;
    @ApiModelProperty("是否在首页显示")
    private Boolean displayOnHomePage;
    @ApiModelProperty("是否允许评论")
    private Boolean isAllowComments;
    @ApiModelProperty("includeInMainSyndication")
    private Boolean includeInMainSyndication;
    @ApiModelProperty("isPinned")
    private Boolean isPinned;
    @ApiModelProperty("isOnlyForRegisterUser")
    private Boolean isOnlyForRegisterUser;
    @ApiModelProperty("isUpdateDateAdded")
    private Boolean isUpdateDateAdded;
    @ApiModelProperty("description")
    private String description;
    @ApiModelProperty("featuredImage")
    private String featuredImage;
    @ApiModelProperty("包含标签（数组）")
    private String[] tags;
    @ApiModelProperty("密码")
    private String password;
    @ApiModelProperty("是否markdown格式")
    private Boolean isMarkdown;
    @ApiModelProperty("自动描述")
    private String autoDesc;
    @ApiModelProperty("是否更改post类型")
    private Boolean changePostType;
    @ApiModelProperty("blogId")
    private Integer blogId;
    @ApiModelProperty("作者")
    private String author;
    @ApiModelProperty("removeScript")
    private Boolean removeScript;
    @ApiModelProperty("客户端信息")
    private String clientInfo;
    @ApiModelProperty("是否修改了创建时间")
    private Boolean changeCreatedTime;
    @ApiModelProperty("是否能够修改创建时间")
    private Boolean canChangeCreatedTime;

    /*public Post(Long id, String title, String url, Boolean isPublished, Boolean isDraft, Long feedBackCount, Long webCount, Long aggCount, Long viewCount, String datePublished, String entryName, Byte postType, Long postConfig, String dateUpdated, Integer accessPermission) {
        this.id = id;
        this.title = title;
        this.url = url;
        this.isPublished = isPublished;
        this.isDraft = isDraft;
        this.feedBackCount = feedBackCount;
        this.webCount = webCount;
        this.aggCount = aggCount;
        this.viewCount = viewCount;
        this.datePublished = datePublished;
        this.entryName = entryName;
        this.postType = postType;
        this.postConfig = postConfig;
        this.dateUpdated = dateUpdated;
        this.accessPermission = accessPermission;
    }*/
}
